package main
import "fmt"

type jiekou interface{
	ceshi()
}

type jiekou2 interface{
	jiekou
	ceshi2()
}

type jiekou3 interface{
	jiekou2
	ceshi3()
}
type Int int

func (a Int)ceshi(){
	fmt.Printf("Int Ceshi a = %d\n", a)
}

func (a Int)ceshi2(){
	fmt.Printf("Int Ceshi a2 = %d\n", a)
}

func (a Int)ceshi3(){
	fmt.Printf("Int Ceshi a3 = %d\n", a)
}


func main(){
	var a Int = 123
	var jk3 jiekou3
	var jk2 jiekou2
	jk2 = a
	jk3 = a
	jk2.ceshi()
	jk3.ceshi()
	
	var jk jiekou
	jk = jk3
	jk.ceshi()
}
